/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package web.usuarios;

import Persistencia.*;
import org.springframework.web.servlet.mvc.SimpleFormController;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import controladores.*;
import dominio.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class ControladorSimpleModPaciente extends SimpleFormController{

    ControladorPaciente controlador;
    ControladorSesion controladorSes;
    PacienteDomain obj;
    String idFisio="";
    @Override
    public ModelAndView onSubmit(Object command) throws ServletException {
        controlador = new ControladorPaciente();
        controladorSes = new ControladorSesion();
        obj=(PacienteDomain) command;
        controlador.setPacienteD(obj);
        controlador.setPaciente(0);
        controlador.setPacienteMod();
        controlador.modificarPaciente();
        Map<String, Object> myModel = new HashMap<String, Object>();        
        myModel.put("id_fisio", controladorSes.encontrarMisSesionesPac(obj.getIdPaciente()).get(0).getFisioterapeuta().getIdFisioterapeuta());        
        myModel.put("pacientes", controlador.encontrarMisPacientes(""+controladorSes.encontrarMisSesionesPac(obj.getIdPaciente()).get(0).getFisioterapeuta().getIdFisioterapeuta()));
        if(obj!=null){
            return new ModelAndView("administrarPacientes", "model", myModel);
        }else{
            return new ModelAndView("administrarPacientes", "model", myModel);
        }
    }

    protected Object formBackingObject(HttpServletRequest request) throws ServletException {
        controlador = new ControladorPaciente();
        idFisio=request.getParameter("id_fisio");
        Paciente log = controlador.encontrarPaciente(request.getParameter("id_paciente"));
        PacienteDomain logD=controlador.convertirDomain(log);
        System.out.println(logD+"log D paciente");
        return logD;
    }

    public void setControladorPaciente(ControladorPaciente productManager) {
        this.controlador = productManager;
    }

    public ControladorPaciente getControladorPaciente() {
        return controlador;
    }


    @SuppressWarnings("unchecked")
    @Override
    protected Map referenceData(HttpServletRequest request) throws Exception {
        Map referenceData = new HashMap();        
        controlador = new ControladorPaciente();
        idFisio=request.getParameter("id_fisio");
        Paciente log = controlador.encontrarPaciente(request.getParameter("id_paciente"));
        PacienteDomain logD=controlador.convertirDomain(log);
        referenceData.put("modPaciente", logD);
        List<String> anos=new ArrayList();
        List<String> meses=new ArrayList();
        List<String> dias=new ArrayList();
        java.util.Date date = new java.util.Date();
        System.out.println(date.getYear());
        for(int i=1900;i<=(1900+date.getYear());i++){
            anos.add(""+i);
        }
        System.out.println(anos);
        for(int i=1;i<13;i++){
            meses.add(""+i);
        }
        for(int i=1;i<32;i++){
            dias.add(""+i);
        }
        referenceData.put("anos", anos);
        referenceData.put("dias", dias);
        referenceData.put("meses", meses);
        System.out.println(anos+" lista de anos");
        referenceData.put("diaEscogido", logD.getFechaNacimientoDia());
        referenceData.put("mesEscogido", logD.getFechaNacimientoMes());
        referenceData.put("anoEscogido", logD.getFechaNacimientoAno());
        return referenceData;
    }
}
